home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / ISSUE03 / DBFILT14 / DBFILT14.ZIP / README.TXT < prev   
Encoding:
Text File  |  1995-07-16  |  5.0 KB  |  120 lines

  1.                TUZFILTER V. 1.04 - free filtering on any DataSource 
  2.                ====================================================
  3.  
  4.  
  5. Hi, out there in the wilderness. Here may come a the solution for many of your
  6. problems, related to filtering and indexing under DELPHI.
  7.  
  8. This little component implements a BDE-level filter, based on a callback into
  9. your form's/unit's code, much like those QSort.-callback were.
  10.  
  11. The callback function does all the filtering stuff, ie. detemines, whether the
  12. current record in scope is to be included or excluded, INDEPENDENTly of any
  13. index-settings, data-links, 1:m table links or whatever.
  14.  
  15. Installation:   after unpacking the ZIP-file, you'll find following files:
  16.  
  17.    -> FILTDEMO.*     a little demo-application
  18.    -> FLTDEMO1.*     unit for FILTDEMO
  19.  
  20.    -> DBFILTUZ.INT   documentation (installation AND HOW TO USE)
  21.    -> DBFILTUZ.DCU   TUZFilter VCL-component (see installation section in
  22.                      DBFILTUZ.INT)
  23.    -> DBFILTUZ.DCR   resource-file for DBFILTUZ.DCU
  24.  
  25.  
  26. RUNNNING the example in FILTDEMO:
  27.  
  28.    following prerequisites have to be fullfilled to run FILTDEMO "out of the
  29.    box":
  30.  
  31.    ->    A valid DBDEMOS-alias in you BDE-configuration (CUSTOMER.DB and
  32.          ORDERS.DB will be accessed) must exist.
  33.    ->    DBFILTUZ.DCU m,ust be installed to your COMPLIB.DCL (see installation
  34.          section "how to install" in DBFILTUZ.INT)
  35.  
  36.  
  37. FREEWARE:   This component is FREEWARE according to the terms in DISCLAIMER'S
  38.             NOTE in DBFILTUZ.INT.
  39.             Source can be obtained from author (see contact address at end of
  40.             this file).
  41.  
  42.  
  43. ADDITIONAL INFO, READ CAREFULLY:
  44. ================================
  45.  
  46.    I don't know, whether to state this as a "known bug" or not, but at least
  47.    the following hint might be very helpful, bioth for security of code and
  48.    for speed:
  49.  
  50.    DON'T CODE a "Application.ProcessMessages" line into your filterevent-handler
  51.  
  52.    Doing so, might confuse BDE which callback-events are "still to be processed"
  53.    and which alredy are processed, leading into recursive calls of the filter-
  54.    event handler until memory is low and BDE will GPF (IDAPI01.DLL 0003:xxxx or
  55.    0001:xxxx).
  56.    This GPFs might freeze WIN as well as throw backl the hard way onto DOS-prompt,
  57.    leaving tables open, records locked and so on.
  58.  
  59.  
  60.  
  61.  
  62. HISTORY of changes:
  63. ===================
  64. VERSION 1.04:     BUG-fixes:
  65.                   -> .LAST-method resulted in an empty result set/first record
  66.                   -> adding a new record might result in an empty result set
  67.  
  68.    thanks to Frank BĪ£urle, who reported the bug on the .LAST-method on a
  69.    dataset. This bug occurred when acting as follows:
  70.  
  71.       -> either use the mouse to drag the vertical slider thumb to it's lower
  72.          end position (will result in an .LAST command on the dataset)
  73.       -> or issue the .LAST command by keybord with crtl-end
  74.  
  75.    in both situations, V 1.03 returned an empty result set. This bug has been
  76.    fixed and in addition some similar or related bugs has been fixed too:
  77.  
  78.       -> crtl-end or dragging the vert-thumb to the lower end on a DETAIL-
  79.          table resulted in moving to the first instead of the last record in
  80.          detail table (fixed)
  81.       -> adding/inserting a new rceord into a filtered dataset may too have
  82.          resulted in an empty resuult set under V 1.03 (fixed too, now works
  83.          as expected)
  84.          
  85.  
  86. VERSION 1.03:     BUG-fix, speed-improvement and initial default-setting
  87.  
  88.    bug-fix:   When using two master-datail linked tables like in the demo-form, and
  89.    "quick-scrolling" thru the nmaster-tables by mouse (holding the down-arrow of
  90.    the grid pressed), a "not enough memory-error" occurred, this should be fixed
  91.    now (tnx to Peter Gentes, pointing me in rioght direction).
  92.    Additionally, a similar bug lead to a GPF in IDAPI01.DLL, when a master-
  93.    record with _no_ detail-recs was reached and the two tables additionally
  94.    were liked by PdX' referential integrity, should be fixed too.
  95.  
  96.    speed-imporvement:   the detail-table isn't rebuild after every single
  97.    record-skip in the master-table which (at least, when scrolling by
  98.    keyboard) should improve scrolling speed.
  99.  
  100.    initial default setting:   I just added a default setting for all
  101.    TUZFilter-properties when you draw a new component on your form.
  102.  
  103.  
  104. VERSION 1.02:     correction in FLTDEMO1.PAS uses-clause
  105.  
  106.    so sorry, V 1.01 did include a typo. The uses-clause in FLTDEMO1 referenced
  107.    a component DBFILTER (which was the original name of DBFILTUZ suring
  108.    develpment, but has changed due to the fact, that I found another component
  109.    already using that name). Unfortunatly, I just added the DBFiltUZ
  110.    forgetting to delete the now obsolete old reference.
  111.    In V 1.02 this has been changed, so compiles will no more break down with a
  112.    "component not found" error for the obsolete refernce. That's the only
  113.    change for V 1.02.
  114.  
  115.  
  116. may the gods of the olymp smile on you ...
  117.  
  118. bye UZ/2       CIS: 100271,313
  119.  
  120.